package com.wicket.okrframework.dal.po.mbg;
    
import com.baomidou.mybatisplus.annotation.*;
import com.wicket.okrframework.common.annotations.LikeFlag;
import com.wicket.okrframework.common.annotations.OrderFlag;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;

/**
 * 无空间  有应用
 *
 * @author xxx
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("oms_framework_users")
public class Users extends BaseEntity {
    private static final long serialVersionUID = 1L;
    
    
    /**
     * 个人账号 
     */
    @TableId(value = "user_id", type = IdType.UUID)
		@NotNull(message = "userId不能为空")
    private String	 userId;
    /**
     * 用户名 
     */
    @TableField(value = "user_name")
		@ApiModelProperty("用户名")
    private String	 userName;
    /**
     * 密码 
     */
    @TableField(value = "password")
		@ApiModelProperty("密码")
    private String	 password;
    /**
     * 密码是否为空 TRUE:是 FALSE:否
     */
    @TableField(value = "is_password_exit")
		@NotNull(message = "密码是否为空不能为空")
		@ApiModelProperty("密码是否为空")
    private String	 isPasswordExit;
    /**
     * 绑定邮箱 
     */
    @TableField(value = "email")
		@ApiModelProperty("绑定邮箱")
    private String	 email;
    /**
     * 邮箱激活状态 TRUE:是 FALSE:否
     */
    @TableField(value = "pass_by_email")
		@ApiModelProperty("邮箱激活状态")
    private String	 passByEmail;
    /**
     * 绑定手机 
     */
    @TableField(value = "phone")
		@NotNull(message = "绑定手机不能为空")
		@ApiModelProperty("绑定手机")
    private String	 phone;
    /**
     * 手机激活状态 TRUE:是 FALSE:否
     */
    @TableField(value = "pass_by_phone")
		@NotNull(message = "手机激活状态不能为空")
		@ApiModelProperty("手机激活状态")
    private String	 passByPhone;
    /**
     * 个人资料是否完善 TRUE:是 FALSE:否
     */
    @TableField(value = "is_user_info_done")
		@NotNull(message = "个人资料是否完善不能为空")
		@ApiModelProperty("个人资料是否完善")
    private String	 isUserInfoDone;
    /**
     * 注册时间 
     */
    @TableField(value = "reg_time")
		@NotNull(message = "注册时间不能为空")
		@ApiModelProperty("注册时间")
    private Date	 regTime;
    /**
     * 最后登录ip 
     */
    @TableField(value = "last_login_ip")
		@ApiModelProperty("最后登录ip")
    private String	 lastLoginIp;
    /**
     * 最后登录时间 
     */
    @TableField(value = "last_login_time")
		@ApiModelProperty("最后登录时间")
    private Date	 lastLoginTime;
    /**
     * 上次修改密码时间 
     */
    @TableField(value = "last_password_changed_time")
		@ApiModelProperty("上次修改密码时间")
    private Date	 lastPasswordChangedTime;
    /**
     * 上次被锁定的时间 
     */
    @TableField(value = "last_lockout_time")
		@ApiModelProperty("上次被锁定的时间")
    private Date	 lastLockoutTime;
    /**
     * 使用无效密码登录次数 
     */
    @TableField(value = "failed_password_attempt_count")
		@ApiModelProperty("使用无效密码登录次数")
    private Long	 failedPasswordAttemptCount;
    /**
     * 首次使用无效密码时间 
     */
    @TableField(value = "first_failed_password_attemp_time")
		@ApiModelProperty("首次使用无效密码时间")
    private Date	 firstFailedPasswordAttempTime;
    /**
     * 操作时间 
     */
    @TableField(value = "operate_time")
		@NotNull(message = "操作时间不能为空")
		@ApiModelProperty("操作时间")
    private Date	 operateTime;

  /**
   * 密码错误锁定状态 TRUE:是 FALSE:否
   */
  @TableField(value = "password_error_lock_state")
  @ApiModelProperty("密码错误锁定状态")
  private String passwordErrorLockState;

    /**
     * 设备 
     */
    @TableField(value = "dev_name")
		@ApiModelProperty("设备")
    private String	 devName;
    /**
     * 创建时间 
     */
    @TableField(value = "create_time")
		@NotNull(message = "创建时间不能为空")
		@ApiModelProperty("创建时间")
    private Date	 createTime;
    /**
     * 来源渠道 PC:PC端 APP:APP MINI_APPLET:小程序
     */
    @TableField(value = "source_code")
		@ApiModelProperty("来源渠道")
    private String	 sourceCode;
    /**
     * 是否失效 TRUE:是 FALSE:否
     */
    @TableField(value = "is_invalid")
		@NotNull(message = "是否失效不能为空")
		@ApiModelProperty("是否失效")
    private String	 isInvalid;
    /**
     * 失效类型 FREEZE:冻结 OTHER:其他
     */
    @TableField(value = "invalid_type")
		@ApiModelProperty("失效类型")
    private String	 invalidType;
    /**
     * 失效原因 
     */
    @TableField(value = "invalid_reason")
		@ApiModelProperty("失效原因")
    private String	 invalidReason;
    /**
     * 失效时间 
     */
    @TableField(value = "invalid_time")
		@ApiModelProperty("失效时间")
    private Date	 invalidTime;
    /**
     * 邀请人账号 
     */
    @TableField(value = "invite_user_id")
		@ApiModelProperty("邀请人账号")
    private String	 inviteUserId;
    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @TableField(value = "is_valid")
		@NotNull(message = "是否作废不能为空")
		@ApiModelProperty("是否作废")
    private String	 isValid;
    /**
     * 归属于场景ID 
     */
    @TableField(value = "sence_id")
		@NotNull(message = "归属于场景ID不能为空")
		@ApiModelProperty("归属于场景ID")
    private String	 senceId;
    /**
     * 创建于空间ID 
     */
    @TableField(value = "space_id")
		@NotNull(message = "创建于空间ID不能为空")
		@ApiModelProperty("创建于空间ID")
    private String	 spaceId;
    /**
     * 创建于联盟应用ID 
     */
    @TableField(value = "app_id")
		@NotNull(message = "创建于联盟应用ID不能为空")
		@ApiModelProperty("创建于联盟应用ID")
    private String	 appId;
}
